package cn.yunyichina.provider.drug.dao;

import cn.yunyichina.provider.drug.entity.Delivery;
import cn.yunyichina.provider.framework.page.PageInfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import cn.yunyichina.provider.framework.annotation.MyBatisRepository;
import cn.yunyichina.provider.framework.mvc.dao.BaseDao;

import java.util.List;
import java.util.Map;

/**
*
* @Author auto_gen_by_tool
* @CreatedTime 2017-07-27 16:03:28
*/
@Repository
@MyBatisRepository
public interface DeliveryDao extends BaseDao<Delivery>{

    public Delivery selectByOrderNo(@Param("orderNo") String orderNo);

    public List<Map<String, Object>> listOrderItemOut(@Param("companyCode") String companyCode, @Param("drugStoreCode") String drugStoreCode, @Param("hospitalCode") String hospitalCode, @Param("deliveryMethod") String deliveryMethod, @Param("checkStatus") String checkStatus, @Param("orderNo") String orderNo, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("pageInfo") PageInfo pageInfo);

    long listOrderItemOutCount(@Param("companyCode") String companyCode, @Param("drugStoreCode") String drugStoreCode, @Param("hospitalCode") String hospitalCode, @Param("deliveryMethod") String deliveryMethod, @Param("checkStatus") String checkStatus, @Param("orderNo") String orderNo, @Param("beginTime") String beginTime, @Param("endTime") String endTime);

    public List<Map<String, Object>> detailOrderOut(@Param("drugStoreCode") String drugStoreCode, @Param("orderNo") String orderNo);

    public List<Map<String, Object>> getHospitalList(@Param("hospitalCode") String hospitalCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("pageInfo") PageInfo pageInfo);

    long getHospitalListCount(@Param("hospitalCode") String hospitalCode, @Param("beginTime") String beginTime, @Param("endTime") String endTime);

    public List<Map<String, Object>> listReportPay(Map<String, Object> params);

    public List<Map<String, Object>> getPayReportDeliveryMainList(Map<String, Object> params);

    public List<Map<String, Object>> getPayReportDeliveryDetailsList(Map<String, Object> params);
}